<template>
   <section class="main">
      <input id="toggle-all" class="toggle-all" type="checkbox" v-model="isAll"/>
      <label for="toggle-all" >全部标记为已完成</label>
      <ul class="todo-list">
        <!-- These are here just to show the structure of the list items -->
        <!-- List items should get the class `editing` when editing and `completed` when marked as completed -->
        <li :class="{completed:item.isDone}" v-for="item in list" :key="item.id">
          <div class="view">
            <input class="toggle" type="checkbox" :checked='item.isDone' @change="$emit('state',item.id)"/>
            <label>{{item.name}}</label>
            <button class="destroy" @click="$emit('del',item.id)"></button>
          </div>
          <input class="edit" value="Create a TodoMVC template" />
        </li> 
      </ul>
    </section>
</template>

<script>
// import { computed } from 'vue'
export default {
  // props:['list']
  props:{
    list:Array
  },
  // 计算属性，计算大框是否改选中
  computed:{
    isAll:{
      get(){
        return this.list.every(item=>item.isDone===true)
      },
      set(val){
        // console.log(val);//true|false
        // 把所有数据的 isDone 都改为 true 或 false
        // 数据在 App 父组件，所以需要 子传父
        this.$emit('changeAllState',val)
      }
    }
  }
}
</script>